home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / ANTMATCH.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-03-09  |  11.1 KB  |  362 lines

  1. 10  'ANTMATCH - Antenna Matching Network - 15 JAN 97 rev. 09 MAR 97
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  DIM L(20),C(20),G(20)
  5. 50  PI=3.14159
  6. 60  T$="####.###"
  7. 70  U$="###.###"
  8. 80  V$="###.####"
  9. 90  JJ$(1)=" m":JJ$(2)=" >":JJ$(3)=" n":JJ$(4)=" p":JJ$(5)=" f"
  10. 100  RR$(1)=" - ":RR$(2)=" k-":RR$(3)=" M-"
  11. 110  COLOR 7,0,1
  12. 120  GOTO 180
  13. 130  '
  14. 140  '.....clear bottom of screen
  15. 150  VIEW PRINT LN TO 24:CLS:VIEW PRINT:LOCATE LN
  16. 160  RETURN
  17. 170  '
  18. 180  '.....start
  19. 190  CLS
  20. 200  COLOR 15,2
  21. 210  PRINT " ANTENNA MATCHING NETWORKS";TAB(60)"by Robert J. Dehoney ";
  22. 220  PRINT STRING$(80,32);
  23. 230  LOCATE CSRLIN-1,20:PRINT "edited for HAMCALC by George Murphy VE3ERP"
  24. 240  COLOR 1,0:PRINT STRING$(80,223);:COLOR 7,0
  25. 250  LOCATE 4:GOSUB 3080   'preface
  26. 260  COLOR 0,7:LOCATE CSRLIN+1,20
  27. 270  PRINT " Press 1 to RUN program or 0 to EXIT....":COLOR 7,0
  28. 280  A$=INKEY$:IF A$=""THEN 280
  29. 290  IF A$="0"THEN CLS:RUN EX$
  30. 300  IF A$="1"THEN 320
  31. 310  GOTO 280
  32. 320  LN=4:GOSUB 140
  33. 330  PRINT " Is the antenna a (d)ipole or (m)onopole?   (d/m)"
  34. 340  A$=INKEY$:IF A$=""THEN 340
  35. 350  IF A$="d" THEN K=1:LN=4:GOSUB 140:GOSUB 2630:GOTO 390
  36. 360  IF A$="m" THEN K=2:LN=4:GOSUB 140:GOSUB 2730:GOTO 390
  37. 370  GOTO 340
  38. 380  '
  39. 390  PRINT:COLOR 0,7
  40. 400  PRINT "  CALCULATIONS ARE VALID IN THE FREQUENCY RANGE OF 2 - 9,000 MHz.  "
  41. 410  COLOR 7,0:PRINT
  42. 420  INPUT " ENTER: Highest operating frequency <0x9F!>H in MHz ";FH :FH=FH*10^6
  43. 430  LMAX=1.8E+08/FH/K:COLOR 0,7:PRINT " Lmax="USING T$;LMAX;:PRINT "m."
  44. 440  COLOR 7,0
  45. 450  INPUT " ENTER: Antenna length in metres ";L0:L=K*L0
  46. 460  IF L0=0 OR L0>LMAX THEN LN=CSRLIN-1:GOSUB 140:GOTO 450
  47. 470  INPUT " ENTER: Diameter in cm.( or 0 to enter L/D ratio instead)";D$
  48. 480  INPUT " ENTER: Network order ( must be >1 and <10 ) ";N:N=INT(N)
  49. 490  IF N<2 OR N>9 THEN LN=CSRLIN-1:GOSUB 140:GOTO 480
  50. 500  INPUT " ENTER: MAXIMUM passband VSWR ";SWRMAX
  51. 510  INPUT " ENTER: MINIMUM passband VSWR ";SWRMIN
  52. 520  IF SWRMIN>SWRMAX GOTO 500
  53. 530  LN=10:GOSUB 140
  54. 540  GOTO 2840  'Calculate G(n)'s
  55. 550  IF D$=""OR D$="0"THEN 570         'Create L/D table
  56. 560  D=VAL(D$)/100 :GOTO 880  'Bypass L/D table
  57. 570  LN=4:GOSUB 140
  58. 580  LOCATE 4,60:PRINT "N =";N
  59. 590  LOCATE 5,60:PRINT "L =";L0;"m."
  60. 600  LOCATE 6,60:PRINT "<0x9F!>H=";FH/10^6;"MHz"
  61. 610  LOCATE 4
  62. 620  PRINT "   L/D        <0x9F!>L (MHz)           Zo           D (cm)"
  63. 630  FOR NN=0 TO 18 :READ R :D=L/R :'R equals L/D
  64. 640  DATA 50,100,125,150,175,200,250,300,400,500,750
  65. 650  DATA 1000,1250,1500,2000,2500,3000,5000,10000
  66. 660  LX=LOG(2*L/D)/LOG(10)
  67. 670  CB=12.0674*L/2/(LX-0.7245)*0
  68. 680  CA=L*(0.89075/(LX^0.8006-0.861)-0.02541)*0
  69. 690  LA=0.1*L*(1.4813*LX^1.012-0.6188)*9.99E-07
  70. 700  RA=(0.41288*LX^2+7.40754*(2*L/D)^-0.02389-7.27408)*1000
  71. 710  FL=FH/(G(1)*LA/RA*2*PI*FH+1)
  72. 720  BW=FH-FL:BWR=2*PI*BW :F0=SQR(FH*FL):W0=2*PI*F0
  73. 730  CP=G(1)/BWR/RA
  74. 740  M=CB/(CA+CB-CP)
  75. 750  IF (-1)^N<0 THEN Z0=RA/M/M/SWRMIN ELSE Z0=RA/M/M/SWRMAX
  76. 760  PRINT USING "######";L0/D;:PRINT TAB(15)USING "####.###";FL*10^-6;
  77. 770  PRINT TAB(30)USING V$;Z0/K;:PRINT TAB(46)USING U$;D*100
  78. 780  NEXT NN:RESTORE
  79. 790  COLOR 0,7
  80. 800  LOCATE 18,60:PRINT " ENTER: L/D or "
  81. 810  LOCATE 19,60:PRINT " PRESS <ENTER> "
  82. 820  LOCATE 20,60:PRINT " to change     "
  83. 830  LOCATE 21,60:PRINT " parameters ";:INPUT R
  84. 840  COLOR 7,0
  85. 850  IF R=0 THEN 350 ELSE R=R*K
  86. 860  D=L/R:D$=STR$(D*100)
  87. 870  GOSUB 3430
  88. 880  LX=LOG(2*L/D)/LOG(10)
  89. 890  CB=12.0674*L/2/(LX-0.7245)*0
  90. 900  CA=L*(0.89075/(LX^0.8006-0.861)-0.02541)*0
  91. 910  LA=0.1*L*(1.4813*LX^1.012-0.6188)*9.99E-07
  92. 920  RA=(0.41288*LX^2+7.40754*(2*L/D)^-0.02389-7.27408)*1000
  93. 930  FL=FH/(G(1)*LA/RA*2*PI*FH+1)
  94. 940  BW=FH-FL:BWR=2*PI*BW:F0=SQR(FH*FL):W0=2*PI*F0
  95. 950  CP=G(1)/BWR/RA
  96. 960  M=CB/(CA+CB-CP)
  97. 970  CC=CB*(M-1) :CS=CB/M
  98. 980  IF (-1)^N<0 THEN Z0=RA/M/M/SWRMIN ELSE Z0=RA/M/M/SWRMAX
  99. 990  L(2)=G(2)*RA/BWR :C2=1/W0/W0/L(2) :C(2)=CS*C2/(CS-C2)
  100. 1000  FOR I=3 TO N STEP 2
  101. 1010  C(I)=G(I)/RA/BWR*M*M
  102. 1020  L(I)=1/C(I)/W0/W0
  103. 1030  NEXT I
  104. 1040  FOR I=4 TO N STEP 2
  105. 1050  L(I)=G(I)*RA/BWR/M/M
  106. 1060  C(I)=1/L(I)/W0/W0
  107. 1070  NEXT I
  108. 1080  L(2)=L(2)/M/M :C(2)=C(2)*M*M
  109. 1090  PRINT TAB( 2)"Lmax=";USING U$;LMAX;:PRINT "m.";
  110. 1100  PRINT TAB(17)"CALLL/Dmin=";USING "###";50/K;:PRINT ":1";
  111. 1110  PRINT TAB(33)"CALLL=";USING U$;L0;:PRINT "m.";
  112. 1120  PRINT TAB(49)"CALLD=";USING U$;D*100;:PRINT "cm.";
  113. 1130  IF (L0/D)<10^3 THEN UU$=T$ ELSE UU$="######.#"
  114. 1140  IF (L0/D)>=10^4 THEN UU$="########"
  115. 1150  PRINT TAB(65)"CALLL/D=";USING UU$;L0/D;:PRINT ":1
  116. 1160  PRINT TAB( 2)"<0x9F!>L=";USING T$;FL/10^6;:PRINT " MHz";
  117. 1170  PRINT TAB(17)"CALL<0x9F!>H=";USING T$;FH/10^6;:PRINT " MHz";
  118. 1180  PRINT TAB(33)"CALLOrder(N)=";N;
  119. 1190  PRINT TAB(49)"CALLSWRmax=";USING "##.##";SWRMAX;:PRINT ":1";
  120. 1200  PRINT TAB(65)"CALLSWRmin=";USING "##.##";SWRMIN;:PRINT ":1"
  121. 1210  PRINT TAB(17)"CALL";TAB(33)"CALL";TAB(49)"CALL";TAB(65)"CALL"
  122. 1220  COLOR 0,7:PRINT " ANTENNA:      ";:COLOR 7,0
  123. 1230  RR=RA/K/10^3:I=0
  124. 1240  RR=RR*10^3:I=I+1:IF RR<1 THEN 1240
  125. 1250  PRINT TAB(17)"CALLRa=";USING V$;RR;:PRINT RR$(I);
  126. 1260  JJ=LA/K:I=0
  127. 1270  JJ=JJ*10^3:I=I+1:IF JJ<1 THEN 1270
  128. 1280  PRINT TAB(33)"CALLLa=";USING V$;JJ;:PRINT JJ$(I)+"H";
  129. 1290  JJ=CA*K:I=0
  130. 1300  JJ=JJ*10^3:I=I+1:IF JJ<1 THEN 1300
  131. 1310  PRINT TAB(49)"CALLCa=";USING V$;JJ;:PRINT JJ$(I)+"F";
  132. 1320  JJ=CB*K:I=0
  133. 1330  JJ=JJ*10^3:I=I+1:IF JJ<1 THEN 1330
  134. 1340  PRINT TAB(65)"CALLCb=";USING V$;JJ;:PRINT JJ$(I)+"F"
  135. 1350  PRINT TAB(17)"CALL";TAB(33)"CALL";TAB(49)"CALL"
  136. 1360  COLOR 0,7:PRINT " MATCH NETWORK:";:COLOR 7,0
  137. 1370  JJ=CC*K:I=0
  138. 1380  JJ=JJ*10^3:I=I+1:IF JJ<1 THEN 1380
  139. 1390  PRINT TAB(17)"CALLCc=";USING V$;JJ;:PRINT JJ$(I)+"F";
  140. 1400  RR=Z0/K/10^3:I=0
  141. 1410  RR=RR*10^3:I=I+1:IF RR<1 THEN 1410
  142. 1420  PRINT TAB(33)"CALLZo=";USING V$;RR;:PRINT RR$(I);
  143. 1430  PRINT TAB(49)"CALL"
  144. 1440  PRINT TAB(17)"CALL";TAB(33)"CALL";TAB(49)"CALL"
  145. 1450  FOR J=2 TO N
  146. 1460  C$="C"+RIGHT$(STR$(J),1)
  147. 1470  L$="L"+RIGHT$(STR$(J),1)
  148. 1480  JJ=C(J)*K:I=0
  149. 1490  JJ=JJ*10^3:I=I+1:IF JJ<1 THEN 1490
  150. 1500  PRINT TAB(17)"CALL";C$;"="USING V$;JJ;:PRINT JJ$(I)+"F";
  151. 1510  JJ=L(J)/K:I=0
  152. 1520  JJ=JJ*10^3:I=I+1:IF JJ<1 THEN 1520
  153. 1530  PRINT TAB(33)"CALL";L$;"="USING V$;JJ;:PRINT JJ$(I)+"H";
  154. 1540  PRINT TAB(49)"CALL";
  155. 1550  NEXT J
  156. 1560  GOSUB 3490
  157. 1570  '
  158. 1580  LN=4:GOSUB 140
  159. 1590  PRINT " Press number in < > for:"
  160. 1600  PRINT STRING$(80,205);
  161. 1610  PRINT "  <1>  New length"
  162. 1620  PRINT "  <2>  New diameter"
  163. 1630  PRINT "  <3>  New network order"
  164. 1640  PRINT "  <4>  New SWR's"
  165. 1650  PRINT "  <5>  Input VSWR vs. frequency"
  166. 1660  PRINT "  <6>  Zin of antenna equivalent circuit only"
  167. 1670  PRINT "  <7>  New antenna calculation"
  168. 1680  PRINT "  <8>  END of program"
  169. 1690  Z$=INKEY$:IF Z$=""THEN 1690
  170. 1700  IF Z$="1" THEN 1800
  171. 1710  IF Z$="2" THEN 1860
  172. 1720  IF Z$="3" THEN 1920
  173. 1730  IF Z$="4" THEN 1960
  174. 1740  IF Z$="5" THEN 2000
  175. 1750  IF Z$="6" THEN 2340
  176. 1760  IF Z$="7" THEN 350
  177. 1770  IF Z$="8" THEN 180
  178. 1780  GOTO 1690
  179. 1790  '
  180. 1800  COLOR 0,7:PRINT " Maximum length=";USING T$;LMAX;:PRINT "m. "
  181. 1810  COLOR 0,7:INPUT " ENTER: New length in metres";L0
  182. 1820  IF L0=0 OR L0>LMAX THEN LN=CSRLIN-1:COLOR 7,0:GOSUB 140:GOTO 1810
  183. 1830  L=K*L0:R=L/D
  184. 1840  COLOR 7,0:GOSUB 3430:GOTO 880
  185. 1850  '
  186. 1860  COLOR 0,7:PRINT " Diameter=";D*100;"cm."
  187. 1870  COLOR 0,7:INPUT " ENTER: New diameter in cm.";D$
  188. 1880  IF VAL(D$)=0 THEN LN=CSRLIN-1:COLOR 7,0:GOSUB 140:GOTO 1860
  189. 1890  D=VAL(D$)/100:R=L/D
  190. 1900  COLOR 7,0:GOSUB 3430:GOTO 880
  191. 1910  '
  192. 1920  COLOR 0,7:INPUT " ENTER: New network order ( must be >1 and <10 )";N
  193. 1930  N=INT(N):IF N<2 OR N>9 THEN LN=CSRLIN-1:COLOR 7,0:GOSUB 140:GOTO 1920
  194. 1940  COLOR 7,0:GOSUB 3430:GOTO 2940
  195. 1950  '
  196. 1960  COLOR 0,7:INPUT " ENTER: New MAXIMUM passband VSWR";SWRMAX
  197. 1970            INPUT " ENTER: New MINIMUM passband VSWR";SWRMIN
  198. 1980  COLOR 7,0:GOSUB 3430:GOTO 520
  199. 1990  '
  200. 2000  PRINT " The following segment will analyze the antenna system from a";
  201. 2010  PRINT " lower to an upper frequency."
  202. 2020  COLOR 0,7
  203. 2030  INPUT " ENTER: Lower frequency in MHz ";F1
  204. 2040  INPUT " ENTER: Upper frequency in MHz ";F2
  205. 2050  Z=(F2-F1)/16
  206. 2060  PRINT " ENTER: Step size in MHz (minimum ";USING "#.##";Z;:PRINT ")";
  207. 2070  INPUT FS
  208. 2080  COLOR 7,0
  209. 2090  LN=4:GOSUB 140
  210. 2100  PRINT "Frequency     VSWR         Rin           Xin"
  211. 2110  FOR FM=F1 TO F2 STEP FS
  212. 2120  F=FM*10^6:W=2*PI*F
  213. 2130  RP=RA:BP=W*CA-1/W/LA:XP=-1/BP
  214. 2140  DN=RP*RP+XP*XP:RS=RP*XP*XP/DN :XS=XP*RP*RP/DN-1/W/CB
  215. 2150  RP=RS+XS*XS/RS:BP=-XS/(XS*XS+RS*RS)+W*CC :XP=-1/BP
  216. 2160  FOR P=2 TO N STEP 2
  217. 2170  DN=RP*RP+XP*XP:RS=RP*XP*XP/DN:XS=XP*RP*RP/DN-1/W/C(P)+W*L(P)
  218. 2180  IF P+1>N THEN GOTO 2220
  219. 2190  RP=RS+XS*XS/RS:BP=-XS/(XS*XS+RS*RS)+W*C(P+1)-1/W/L(P+1):XP=-1/BP
  220. 2200  NEXT P
  221. 2210  DN=RP*RP+XP*XP:RS=RP*XP*XP/DN:XS=XP*RP*RP/DN
  222. 2220  REFLCO=SQR(((RS-Z0)^2+XS^2)/((RS+Z0)^2+XS^2))
  223. 2230  SWR=(1+REFLCO)/(1-REFLCO)
  224. 2240  PRINT USING U$;F/10^6;:PRINT TAB(11)USING "#####.##";SWR;
  225. 2250  PRINT TAB(25)USING V$;RS/K;:PRINT TAB(39)USING "####.####";XS/K
  226. 2260  NEXT FM
  227. 2270  COLOR 0,7:PRINT " Do you want to review antenna/network values? (y/n) "
  228. 2280  COLOR 7,0
  229. 2290  Z$=INKEY$:IF Z$=""THEN 2290
  230. 2300  IF Z$="y"THEN LN=4:GOSUB 140:GOSUB 3430:GOTO 880
  231. 2310  IF Z$="n"THEN 180
  232. 2320  GOTO 2290
  233. 2330  '
  234. 2340  PRINT " The following segment will analyze the antenna equivalent circuit";
  235. 2350  PRINT " from a lower to an upper frequency."
  236. 2360  COLOR 0,7
  237. 2370  INPUT " ENTER: Lower frequency in MHz ";F1
  238. 2380  INPUT " ENTER: Upper frequency in MHz ";F2
  239. 2390  Z=(F2-F1)/16
  240. 2400  PRINT " ENTER: Step size in MHz (minimum ";USING "#.##";Z;:PRINT ")";
  241. 2410  INPUT FS
  242. 2420  INPUT " ENTER: Trial Zo ";ZO:ZO=ZO*K
  243. 2430  COLOR 7,0
  244. 2440  LN=4:GOSUB 140
  245. 2450  PRINT "Frequency     RSin         XSin          VSWR         Zo=";ZO/K;"-"
  246. 2460  FOR FM=F1 TO F2 STEP FS
  247. 2470  F=FM*10^6:W=2*PI*F
  248. 2480  RP=RA:BP=W*CA-1/W/LA:XP=-1/BP
  249. 2490  DN=RP*RP+XP*XP:RS=RP*XP*XP/DN:XS=XP*RP*RP/DN-1/W/CB
  250. 2500  RP=RS+XS*XS/RS:XP=XS+RS*RS/XS
  251. 2510  REFLCO=SQR(((RS-ZO)^2+XS^2)/((RS+ZO)^2+XS^2))
  252. 2520  SWR=(1+REFLCO)/(1-REFLCO)
  253. 2530  PRINT USING U$;F/10^6;:PRINT TAB(12)USING V$;RS/K;
  254. 2540  PRINT TAB(25)USING V$;XS/K;:PRINT TAB(39);USING V$;SWR
  255. 2550  NEXT FM
  256. 2560  COLOR 0,7:PRINT " Do you want to review antenna/network values? (y/n) "
  257. 2570  COLOR 7,0
  258. 2580  Z$=INKEY$:IF Z$=""THEN 2580
  259. 2590  IF Z$="y"THEN LN=4:GOSUB 140:GOSUB 3430:GOTO 880
  260. 2600  IF Z$="n"THEN 180
  261. 2610  GOTO 2580
  262. 2620  '
  263. 2630  '.....dipole
  264. 2640  COLOR 0,7
  265. 2650  PRINT "  VARPTRSOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUND2*CbSOUNDSOUNDSOUND|SOUNDBSAVESOUNDSOUNDSOUND2*C2SOUNDSOUNDL2/2SOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUND2*C4SOUNDSOUNDSOUNDL4/2SOUNDSOUND| "
  266. 2660  PRINT "  Ra   La   Ca           Cc               C3    L3        DEFSNGSOUND-INPUT "
  267. 2670  PRINT "  CLSSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUND2*CbSOUNDSOUNDSOUND|SOUNDMOTORSOUNDSOUNDSOUND2*C2SOUNDSOUNDL2/2SOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUND2*C4SOUNDSOUNDSOUNDL4/2SOUNDSOUND| "
  268. 2680  PRINT "  CALL   Dipole Antenna   CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND Matching Network SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
  269. 2690  PRINT "  CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUND L long SOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL      mounted at antenna feedpoint         "
  270. 2700  PRINT "    (D dia. conductor) CLSDEFSNGSOUND feedpoint                               "
  271. 2710  COLOR 7,0
  272. 2720  RETURN
  273. 2730  '....monopole
  274. 2740  COLOR 0,7
  275. 2750  PRINT "  VARPTRSOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDCbSOUNDSOUNDSOUNDSOUND|SOUNDBSAVESOUNDSOUNDSOUNDSOUNDC2SOUNDSOUNDSOUNDSOUNDL2SOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDSOUNDBSAVESOUNDSOUNDSOUNDSOUNDC4SOUNDSOUNDSOUNDSOUNDSOUNDL4SOUNDSOUNDSOUND| "
  276. 2760  PRINT "  Ra   La   Ca         | Cc               C3    L3        DEFSNGSOUND-INPUT "
  277. 2770  PRINT "  CLSSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND|SOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDMOTORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND| "
  278. 2780  PRINT "  CALL  Monopole Antenna  CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND Matching Network SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
  279. 2790  PRINT "  CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUND L long SOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL      mounted at antenna feedpoint         "
  280. 2800  PRINT "    (D dia. conductor) CLSDEFSNGSOUND feedpoint                               "
  281. 2810  COLOR 7,0
  282. 2820  RETURN
  283. 2830  '
  284. 2840  '.....calculate G(n)
  285. 2850  IF SWRMAX=1 THEN SWRMAX=1.0001
  286. 2860  IF (SWRMAX-SWRMIN)=0 THEN SWRMIN=SWRMAX*0.9999
  287. 2870  PMAX=(SWRMAX-1)/(SWRMAX+1) :ILMAX=1-PMAX^2
  288. 2880  PMIN=(SWRMIN-1)/(SWRMIN+1) :ILMIN=1-PMIN^2
  289. 2890  E1=SQR(ILMIN-ILMAX)
  290. 2900  U1=SQR((1-PMAX*PMAX)/(PMAX*PMAX-PMIN*PMIN))
  291. 2910  U2=PMIN*U1
  292. 2920  NA=LOG(U1+SQR(U1*U1+1))
  293. 2930  NB=LOG(U2+SQR(U2*U2+1))
  294. 2940  A=NA/N
  295. 2950  B=NB/N
  296. 2960  HSA=0.5*(EXP(A)-EXP(-A))
  297. 2970  HSB=0.5*(EXP(B)-EXP(-B))
  298. 2980  PI=3.14159
  299. 2990  G(1)=2*SIN(PI/2/N)/(HSA-HSB)
  300. 3000  FOR I=1 TO N-1
  301. 3010  U3=4*SIN((2*I-1)*PI/2/N)*SIN((2*I+1)*PI/2/N)
  302. 3020  U4=HSA*HSA+HSB*HSB+SIN(I*PI/N)^2-2*HSA*HSB*COS(I*PI/N)
  303. 3030  G(I+1)=U3/U4/G(I)
  304. 3040  NEXT I
  305. 3050  GIN=2*SIN(PI/2/N)/(HSA+HSB)/G(N)
  306. 3060  GOTO 550
  307. 3070  '
  308. 3080  '.....preface
  309. 3090  TB=7
  310. 3100  PRINT TAB(TB);
  311. 3110  PRINT "  This program computes circuit values for dipole/monopole antenna"
  312. 3120  PRINT TAB(TB);
  313. 3130  PRINT "matching networks, using an equivalent circuit originally developed"
  314. 3140  PRINT TAB(TB);
  315. 3150  PRINT "in Japan."
  316. 3160  PRINT TAB(TB);
  317. 3170  PRINT "  Inputs are: highest passband frequency, length, diameter, network"
  318. 3180  PRINT TAB(TB);
  319. 3190  PRINT "order and maximum & minimum passband VSWR."
  320. 3200  PRINT TAB(TB);
  321. 3210  PRINT"  Outputs are: passband frequency, antenna equivalent network values"
  322. 3220  PRINT TAB(TB);
  323. 3230  PRINT "and matching network values. Provision is included to compute VSWR,"
  324. 3240  PRINT TAB(TB);
  325. 3250  PRINT "Rin, Xin of the network and unmatched antenna."
  326. 3260  PRINT TAB(TB);
  327. 3270  PRINT "  The matching network is installed at the antenna feedpoint, thus"
  328. 3280  PRINT TAB(TB);
  329. 3290  PRINT "providing a flat transmission line without VSWR losses."
  330. 3300  PRINT
  331. 3310  PRINT TAB(TB);"  References:"
  332. 3320  PRINT
  333. 3330  PRINT TAB(TB);
  334. 3340  PRINT "Equivalent Circuits of a Dipole Antenna (IEEE Trans Antennas and"
  335. 3350  PRINT TAB(TB+2);
  336. 3360  PRINT "Propogation, Jan. 1993, page 100)."
  337. 3370  PRINT TAB(TB);
  338. 3380  PRINT "Dummy Antennas (Communications Quarterly, Summer 1994, page 87)."
  339. 3390  PRINT TAB(TB);
  340. 3400  PRINT "Antenna Matching Networks (RF Design, May 1995, page 74)."
  341. 3410  RETURN
  342. 3420  '
  343. 3430  '.....diagram
  344. 3440  LN=4:GOSUB 140
  345. 3450  IF A$="d"THEN GOSUB 2630:RETURN
  346. 3460  IF A$="m"THEN GOSUB 2730:RETURN
  347. 3470  END
  348. 3480  '
  349. 3490  'HARDCOPY
  350. 3500  GOSUB 3610:LOCATE 25,2:COLOR 14,6
  351. 3510  PRINT " Press 1 to print screen, 2 to print screen & ";
  352. 3520  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  353. 3530  Z$=INKEY$:IF Z$="3"THEN GOSUB 3610:RETURN
  354. 3540  IF Z$="1"OR Z$="2"THEN GOSUB 3610:GOTO 3560
  355. 3550  GOTO 3530
  356. 3560  FOR QX=1 TO 24:FOR QY=1 TO 80
  357. 3570  LPRINT CHR$(SCREEN(QX,QY));
  358. 3580  NEXT QY:NEXT QX
  359. 3590  IF Z$="2"THEN LPRINT CHR$(12)
  360. 3600  GOTO 3500
  361. 3610  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  362.